The present disclosure relates generally to information handling systems, and more particularly to a cache system used with Storage Class Memory (SCM) in an information handling system for operation in an SCM memory mode.
As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
Recently, a new type of non-volatile memory technology (referred to below as “Storage Class Memory” or “SCM”) has been developed for information handling systems (e.g., SCM initially marketed under the brand names “3DXPOINT” and “OPTANE” by INTEL® Corporation of Redmond, Wash., United States, and MICRON® Technology Incorporated of Boise, Id., United States). While technical details of SCM devices are not entirely clear, it is clear that SCM devices will provide non-volatile memory with storage class attributes. For example, individual cells in SCM devices will not require a transistor, allowing for a packing density that is expected to be 8-10 times greater than Dynamic Random Access Memory (DRAM) and allowing for much higher storage capacities than physically-comparable sized DRAM (e.g., hundreds of gigabytes, terabytes, etc.) Furthermore, write durability is expected to be up to 1000 times higher than flash memory. However, it appears that the benefits of SCM devices will come with performance limitations. For example, SCM devices are expected to have a latency that is an order of magnitude (or more) slower than DRAM, and a bandwidth that is approximately 4 times slower than DRAM.
Initial implementations of this new memory technology in memory systems, such as the 3DXPOINT SCM devices discussed above, will include three modes of operations: a storage mode, an application direct mode, and a memory mode. In the storage mode the SCM devices are to be treated like conventional mass storage device such as a hard disk (HD) or solid state device (SSD) and accessed via block Input/Output (I/O) actions, while in the application direct mode the SCM devices are to have portions allocated to particular applications and accessed via random load/store actions. In both the storage mode and application direct mode the memory system including the SCM devices can be considered “persistent”, as data is written directly to the non-volatile SCM devices and thus will not be erased in the event of, for example, a power failure. This persistence of memory systems including SCM devices is available in the storage and application direct modes due to the speed of data writes to the SCM devices not being a priority. In other words, the storage and application direct modes provide for the use of the SCM devices in a manner that their performance limitations are not an issue (i.e., they are used for relatively long term storage like conventional mass storage devices, and not for quick data storage and access as is required with conventional DRAM memory devices.)
However, in the memory mode, the SCM devices are provided in the memory system that is treated like a conventional DRAM memory system that must provide for quick data storage and access by the processing system. Because SCM devices suffer from the performance limitations discussed above, a cache made up of Registers DIMM (RDIMM) devices or Load Reduced DIMM (LRDIMM) devices is provided in memory systems that have SCM devices operating in memory mode in order for the memory system to provide the quick data storage by the processing system. For example, in a memory system with SCM devices operating in memory mode, data reads and writes are initially written to the RDIMM/LRDIMM devices (which provide much higher write speeds than the SCM devices) that essentially act as a write-back cache, with a cache controller implementing a cache line replacement algorithm (e.g., least recently used (LRU)) to remove the cacheline from the cache. If a replaced cacheline was modified (i.e., previously written), that cacheline is written back by the cache controller to the SCM device (and optionally de-allocated from the RDIMM/LRDIMM devices). However, because RDIMM/LRDIMM devices are volatile memory devices, memory systems including SCM devices operating in memory mode cannot be considered persistent, as data that is written to the volatile RDIMM/LRDIMM device but not yet written back to the non-volatile SCM devices will be lost in the event of, for example, a power failure. Given the high storage capacities of SCM devices and the resulting large amounts of data that may be written to the volatile RDIMM/LRDIMM cache in memory mode, the use of a memory system with SCM devices in memory mode risks the loss of large amounts of data provided to that memory system.
Accordingly, it would be desirable to provide an improved SCM memory mode memory system.